package cn.fl.ref.account.transform;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.BeanUtils;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.ref.account.vo.FncGroupCompanyAccountVO;
import fl.ref.account.dto.FncGroupCompanyAccountDTO;

/**
 * @Description: 集团公司
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class FncGroupCompanyAccountVOTransform {

	/**
	 * DTO 转 VO
	 * 
	 * @param dto FncGroupCompanyDTO
	 * @return FncGroupCompanyVO
	 */
	public static FncGroupCompanyAccountVO toVO(FncGroupCompanyAccountDTO dto) {
		FncGroupCompanyAccountVO vo = null;
		if (dto != null) {
			vo = new FncGroupCompanyAccountVO();
			BeanUtils.copyProperties(dto, vo);
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * 
	 * @param dto FncGroupCompanyAccountVO
	 * @return FncGroupCompanyAccountDTO
	 */
	public static FncGroupCompanyAccountDTO toDTO(FncGroupCompanyAccountVO vo) {
		FncGroupCompanyAccountDTO dto = null;
		if (vo != null) {
			dto = new FncGroupCompanyAccountDTO();
			BeanUtils.copyProperties(vo, dto);
		}
		return dto;
	}

	/**
	 * DTO集合 转 VO集合
	 * 
	 * @param List<FncGroupCompanyAccountDTO>
	 * @return List<FncGroupCompanyAccountVO>
	 */
	public static List<FncGroupCompanyAccountVO> toVOList(List<FncGroupCompanyAccountDTO> list) {
		List<FncGroupCompanyAccountVO> voList = new ArrayList<FncGroupCompanyAccountVO>();
		if (CollectionUtils.isNotEmpty(list)) {
			for (FncGroupCompanyAccountDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}

	/**
	 * VO集合 转 DTO集合
	 * 
	 * @param list List<FncGroupCompanyAccountVO>
	 * @return List<FncGroupCompanyAccountDTO>
	 */
	public static List<FncGroupCompanyAccountDTO> toDTOList(List<FncGroupCompanyAccountVO> list) {
		List<FncGroupCompanyAccountDTO> dtoList = new ArrayList<FncGroupCompanyAccountDTO>();
		if (CollectionUtils.isNotEmpty(list)) {
			for (FncGroupCompanyAccountVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
